package com.mind.ridge.service.backend;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mind.ridge.dto.backend.DishDto;
import com.mind.ridge.pojo.backend.Dish;
import com.mind.ridge.utils.R;

import java.util.List;


/**
 * @author Mind
 */
public interface DishService extends IService<Dish> {

    /**
     * 新增菜品，同时插入菜品对应的口味数据，需要操作两张表：dish、dish_flavor
     *
     * @param dishDto
     */
    void saveWithFlavor(DishDto dishDto);


    /**
     * 菜品分页查询
     * @param page 当前页
     * @param pageSize 每页所显示的内容条数
     * @param name 根据菜名模糊查询
     * @return
     */
    R<IPage> page(int page,int pageSize,String name);

    /**
     * 批量修改状态
     * @param ids 根据id数组
     * @return
     */
    R<String> alterStatus(int status,List<Long> ids);

    /**
     * 回显数据
     * @param id 根据id查询
     * @return
     */
    R<DishDto> recurInfo(long id);

    /**
     * 根据id批量删除或删除单个
     * @param ids
     * @return
     */
    R<String> deleteBatch(List<Long> ids);

    /**
     * 更新菜品以及口味
     * @param dishDto 将前端发送的数据封装为dishDto
     * @return
     */
    R<String> updateWithFlavor(DishDto dishDto);

    /**
     * 回显套餐管理中的添加菜品列表
     * @param id 通过分类id获取
     * @return
     */
    R<List<DishDto>> categoryList(Long id,Integer status);
}
